import request from '@/utils/request'
import { AxiosPromise } from 'axios'
import { ProductBrandBo, ProductBrandVo } from './types'

/**
 * 查询品牌列表
 * @param query 查询参数
 * @returns 品牌列表
 */
export function listBrand(query: ProductBrandBo): AxiosPromise<any> {
    return request({
        url: '/product/brand/list',
        method: 'get',
        params: query
    })
}

/**
 * 获取品牌详细信息
 * @param id 品牌ID
 * @returns 品牌信息
 */
export function getBrand(id: number): AxiosPromise<any> {
    return request({
        url: '/product/brand/' + id,
        method: 'get'
    })
}

/**
 * 新增品牌
 * @param data 品牌信息
 * @returns 结果
 */
export function addBrand(data: ProductBrandBo): AxiosPromise<any> {
    return request({
        url: '/product/brand',
        method: 'post',
        data: data
    })
}

/**
 * 修改品牌
 * @param data 品牌信息
 * @returns 结果
 */
export function updateBrand(data: ProductBrandBo): AxiosPromise<any> {
    return request({
        url: '/product/brand',
        method: 'put',
        data: data
    })
}

/**
 * 删除品牌
 * @param id 品牌ID
 * @returns 结果
 */
export function delBrand(id: number | number[]): AxiosPromise<any> {
    return request({
        url: '/product/brand/' + id,
        method: 'delete'
    })
}

/**
 * 批量删除品牌
 * @param ids 品牌ID数组
 * @returns 结果
 */
export function delBrandBatch(ids: number[]) {
    return request({
        url: '/product/brand/batch',
        method: 'delete',
        data: ids
    })
} 